.smooth_loader_wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9999;
}

.smooth_loader {
  line-height: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, 50%);
}

.loader {
  position: relative;
  width: 110px;
}

.dot {
  background-color: #ccc;
  border-radius: 10px;
  display: inline-block;
  height: 20px;
  position: absolute;
  width: 20px;
}

.dot_1 {
  animation: animateDot1 1.5s linear infinite;
  background-color: #f0c24b;
  left: 30px;
}

.dot_2 {
  animation: animateDot2 1.5s linear infinite;
  animation-delay: .5s;
  background-color: #ea7066;
  left: 60px;
}

.dot_3 {
  animation: animateDot3 1.5s linear infinite;
  background-color: #b5d56a;
  left: 30px;
}

.dot_4 {
  animation: animateDot4 1.5s linear infinite;
  animation-delay: .5s;
  background-color: #84bed6;
  left: 60px;
}

@keyframes animateDot1 {
  0% {
    transform: rotate(0deg) translateX(-30px)
  }
  25% {
    transform: rotate(180deg) translateX(-30px)
  }
  75% {
    transform: rotate(180deg) translateX(-30px)
  }
  to {
    transform: rotate(360deg) translateX(-30px)
  }
}

@keyframes animateDot2 {
  0% {
    transform: rotate(0deg) translateX(-30px)
  }
  25% {
    transform: rotate(-180deg) translateX(-30px)
  }
  75% {
    transform: rotate(-180deg) translateX(-30px)
  }
  to {
    transform: rotate(-360deg) translateX(-30px)
  }
}

@keyframes animateDot3 {
  0% {
    transform: rotate(0deg) translateX(30px)
  }
  25% {
    transform: rotate(180deg) translateX(30px)
  }
  75% {
    transform: rotate(180deg) translateX(30px)
  }
  to {
    transform: rotate(360deg) translateX(30px)
  }
}

@keyframes animateDot4 {
  0% {
    transform: rotate(0deg) translateX(30px)
  }
  25% {
    transform: rotate(-180deg) translateX(30px)
  }
  75% {
    transform: rotate(-180deg) translateX(30px)
  }
  to {
    transform: rotate(-360deg) translateX(30px)
  }
}